package com.ckf.serene.domain;

import lombok.Data;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

/**
 * 微信退款参数
 *
 * @author serence
 * @date 2021/7/27 12:08
 */
@Data
public class WxRefundParam implements Serializable {

    /**
     * 微信商户单号
     */
    @NotNull(message = "微信商户单号不能为空")
    private String outTradeNo;

    /**
     * 微信交易单号
     */
    @NotNull(message = "微信交易单号不能为空")
    private String transactionId;

    /**
     * 商户退款单号 新生成,唯一性 同一退款单号多次请求只退一笔
     */
    private String outRefundNo;

    /**
     * 微信退款单号 微信生成的退款单号，在申请退款接口有返回
     */
    private String refundId;

    /**
     * 订单总金额 单位为分
     */
    @NotNull(message = "订单总金额不能为空")
    private BigDecimal totalFee;

    /**
     * 退款金额 单位为分
     */
    @NotNull(message = "退款金额不能为空")
    private BigDecimal refundFee;

    /**
     * 退款原因
     */
    private String refundDesc;

    /**
     * 订单商品id
     */
    private List<String> itemIds;

    /**
     * 退款渠道  1:申请退款  2:拒绝退款
     */
    private Integer RefundChannel;

    /**
     * 订单号
     */
    private String orderNo;

    /**
     * 店铺id
     */
    private Long shopId;

    /**
     * 对账单日期 格式：20140603
     */
    private String billDate;

    /**
     * 账单类型
     */
    private String billType;

    /**
     * 商品名称
     */
    private String productName;

    /**
     * 单价
     */
    private BigDecimal unitPrice;

    /**
     * 退款数量
     */
    private BigDecimal refundQuantity;

}
